{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "48aeed56-5ace-4445-af34-4ae94231dffe",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Wind Turbin model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "4f3d5ff5-2c65-4d91-b75b-2744e04d8385",
   "metadata": {},
   "outputs": [],
   "source": [
    "def wind_turbine_model(x): \n",
    "    if x<=4.5 or x>21.5: \n",
    "        return 0 \n",
    "    return 376.936 - 195.8161*x + 33.75734*x**2 - 2.212492*x**3 + 0.06309095*x**4 - 0.0006533647*x**5 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "99aebce9-cabc-4553-947f-d6dfed76f2a5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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pqayfft2e9svv/xCamoqr7zyikPfF154gdTUVDZv3mxv27p1K6mpqTz33HMOfV977TVSU1PZWGzVzM7//pfU5593KA4A3gZSgbXF2jKL2qZc0HdWUfv3xdoOFbVNuqDvh8CD2IqPc/7Etoz4XaB4FTuhqH+3Ym3xQD9UoJTpvfdsE3PPycw8X6CA7d/777e1i/iI1atXM3r0aObMmWNvmz17NqmpqXz33Xf2tsOHD5OamnrRH6kfffQRqampLF261N6WnZ1NamoqY8eOdej72WefkZqayjfffGNvO3XqFKmpqaSmpnL27Fl7+/z580lNTeWrr76ytxUWFtr7njx50t6+aNEiUlNTmTdvnsP3GzduHKmpqRw/ftzetmzZMlJTU/nw3FYNRSZNmkRqaiqHDh2yt33//fekpqYya9Ysh75TpkwhNTWVzGL/L1i7di2pqam8/fbbDn2ffvppUlNT2blzp71t48aNpKam8tprrzn0fe6550hNTWXr1q32ts2bN5OamsoLL7zg0PeXX37BIxgm+OOPPwzAWL16tUP7+PHjjS5dulzUf8qUKQa2z0qHW3Z2dpVnmzNnjgEYN9xwg0N7y5YtDcBYsWKFve3zzz83AOPqq6926HvllVcagPF///d/9rbFixcbgNG+fXuHvt27dzcAY+7cufa271991QCMpudnaRgGGH2Kfu7Zxdp+LGpLuKDv34rapxdr21bUFnlB33uK2v9drC0PjAfAeBeMsxf01+0Sbi+9dP4//rJlzvssX37pb2QRD/H1118bcXFxxoEDB+xtd9xxhwEYr732mr0tIyPDAIzw8HCHrx86dKgBGNOmTbO37d+/3wCMwMBAh74pKSkGYEyePNnedvz4cftnxunTp+3tjzzyiAEY48aNs7edOXPG3vfo0aP29n/9618GYIwaNcrh+wUFBRmAsW/fPnvbc889ZwDGPffc49A3MjLSAIytW7fa29544w0DMAYMGODQt27dugZg/Pjjj/a22bNnG4DRu3dvh77NmjUzAOO7776zt82bN88AjO7duzv0bd++vQEYixYtsrd9/fXXBmB06tTJoe/nn39uuEJ2drZRkc9vr1iCPGnSJIeKOScnh8TERJd8r9atW5OWlkaTJk0c2keOHMnhw4epX7++va1Zs2akpaU5tAEMGzaMG2+8kcaNG9vbGjZsSFpaGvHx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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "# load data \n",
    "df = pd.read_csv('./wind_turbine.csv') \n",
    "expected_power = [wind_turbine_model(x) for x in df.wind_speed_ms] \n",
    "reference_power = [wind_turbine_model(x) for x in range(0,30)] \n",
    "\n",
    "# show data and reference \n",
    "plt.plot(df.wind_speed_ms, df.power_generated_kw,'.r') \n",
    "plt.plot(reference_power,'k:') \n",
    "plt.show() "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7e5cef7-1277-4c23-97e4-fe8706faccaf",
   "metadata": {},
   "source": [
    "## evaluate ratio "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "ba379c19-4edb-4ea2-bfdd-af87e5708341",
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "de=[] \n",
    "ts=[] \n",
    "for i in range(0,len(expected_power)): \n",
    "    mp = df.power_generated_kw[i] \n",
    "    ep = expected_power[i] \n",
    "    if ep>0 and mp>0: \n",
    "        t = df.cycle_10_mins[i] \n",
    "        de.append( (mp-ep) / ep ) \n",
    "        ts.append(t) "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63786ff9-d819-42b5-aeb1-d70a6df0bf9e",
   "metadata": {},
   "source": [
    "## predict degradation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "8018362c-161a-41ab-84ed-ff6e4d3d60a1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "degradation in 9 years will be -15.73 %\n"
     ]
    }
   ],
   "source": [
    " \n",
    "samples=365*24*6 \n",
    "year=9\n",
    "\n",
    "import numpy as np\n",
    "z = np.polyfit(ts, de, 1) \n",
    "print(\"degradation in %s years will be %.2f %%\" % (year, 100*(z[0]*(samples*year) + z[1])) ) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7f934dec-c13f-4208-a933-c12b15c19774",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
